#ifndef __USER_TASK_H
#define __USER_TASK_H

#include "FreeRTOS.h"
#include "task.h"
#include "string.h"
#include "bsp.h"
#include "lib.h"

#include "gimbal_task.h"
#include "shoot_task.h"
#include "monitor_task.h"


/******************************************************
 * @data	2021.2.21
 * @brie	任务堆栈定义
 * @input	
 * @output	
 * @mader	刘佳豪  QQ：2663550823  ph:15532258591
 * ***************************************************/
 //任务优先级
#define START_TASK_PRIO			1
//任务堆栈大小
#define START_STK_SIZE			128 


//GIMBAL_TASK任务优先级
#define GIMBAL_TASK_PRIO		2
//任务堆栈大小
#define GIMBAL_TASK_SIZE 		64


//SHOOT_TASK任务优先级
#define SHOOT_TASK_PRIO			3
//任务堆栈大小
#define SHOOT_TASK_SIZE 		32 


//MONITOR_TASK任务优先级
#define MONITOR_TASK_PRIO		4
//任务堆栈大小
#define MONITOR_TASK_SIZE 		32


//TEXT_TASK任务优先级
#define TEXT_TASK_PRIO			5
//任务堆栈大小
#define TEXT_TASK_SIZE			128  

#define LED0_TASK_PRIO		2
//任务堆栈大小
#define LED0_STK_SIZE 		64  
//LED_UI任务
#define LED_UI_TASK_PRIO	2
#define LED_UI_TASK_SIZE 128

/******************************************************
 * @data	2021.2.21
 * @brie	结构体&函数声明
 * @input	
 * @output	
 * @mader	刘佳豪  QQ：2663550823  ph:15532258591
 * ***************************************************/
//任务句柄
extern  TaskHandle_t StartTask_Handler;
extern  TaskHandle_t GimbalTask_Handler;
extern  TaskHandle_t ShootTask_Handler;
extern  TaskHandle_t MonitorTask_Handler;
extern  TaskHandle_t TextTask_Handler;
extern  TaskHandle_t LED0Task_Handler;
//任务函数
void start_task		(void *pvParameters);
void gimbal_task	(void *pvParameters);
void shoot_task		(void *pvParameters);
void monitor_task	(void *pvParameters);
void text_task		(void *pvParameters);
void led0_task(void *pvParameters);
void LED_UI_task(void *pvParameters);
#endif
